<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <input type="file">
  <img src="" alt="">
  <script>
    // 不经过服务器, 使用纯前端也可以实现本地图像上传预览
    // URL.createObjectURL()  返回一个临时路径地址, 创建这个路径的页面关闭后, 路径也就会失效
    // 返回的数据类似是blob数据类型
    const ipt = document.querySelector('input')
    const img = document.querySelector('img')
    /* ipt.addEventListener('change', (e)=> {
      // console.log(e.target.files[0]);
      const file = e.target.files[0]
      // 基于上传的文件对象 生成临时路径
      const url = URL.createObjectURL(file)
      console.log(url);
      img.src = url
    }) */

    // 这种方式返回的是base64格式 本质上是一个字符串
    ipt.addEventListener('change', (e)=> {
      // console.log(e.target.files[0]);
      const file = e.target.files[0]
      // 创建文件读取对象
      const fileReader = new FileReader()
      // 读取文件
      fileReader.readAsDataURL(file)
      // 读取文件成功后 会得到result
      fileReader.onload = function(){
        // console.log(fileReader.result); base64
        img.src = fileReader.result
      }
    })
  </script>
</body>
</html>